View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001412 | K18X001.00 SKB SWAN | SW Issue | public | 2021-12-17 14:27 | 2025-07-17 17:04 |
| Reporter | (ALTech) Wooshin Kang | Assigned To | (ALTech) Wooshin Kang | Due Date | 2021-12-24 15:19 |
| Priority | urgent | Severity | s4-minor | Reproducibility | sometimes |
| Status | closed | Resolution | fixed | ||
| Summary | 0001412: dlopen fail issue. (libcronet) | ||||
| Description | We have some box got from field. These boxes can't display home ui. Cause for this is that libcronet.85.0.4183.127.so can't be loaded. I saw same issue in acceptance test and now i have 2 box more. We have to find method to avoid it. 12-17 11:19:17.420 1719 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:17.847 1719 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:20.650 2563 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:21.082 2563 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:25.759 3090 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:25.921 3090 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:28.848 3362 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:28.906 3362 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:29.769 3455 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:29.935 3455 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:41.380 4169 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:41.457 4169 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:41.946 4226 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:19:42.035 4226 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:18.694 4527 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:18.747 4527 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:19.148 4570 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:19.206 4570 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:25.931 4777 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:25.977 4777 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:26.265 4819 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) 12-17 11:20:26.316 4819 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) | ||||
| Steps To Reproduce | I don't know. | ||||
| Tags | No tags attached. | ||||
| Attach Tags | |||||
| User List |
(ALTech) Sangmin Choi |
|---|
|
|
|
|
|
Hi Wooshin, Could you provide the error file in /data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so ? And do you have any steps to reproduce it? (For example, how to do you do acceptance test?) |
|
|
Hi River, We got this box from field, we don't know what happened on this box in the field. we have no any information. |
|
|
Hi Wooshin, From the log, I think that com.skb.tv is killed because of tvrecommendations dying and tvrecommendations dying is because of libcronet.85.0.4183.127.so. You can see the following log: tvrecommendations crashes because of libcronet.85.0.4183.127.so (I just list one of them): 12-17 11:19:17.847 1719 1719 E TvRecommendations: Killing the app because of an uncaught exception 12-17 11:19:17.847 1719 1719 E TvRecommendations: java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?) com.skb.tv is killed because of dying proc of tvrecommendations: 12-17 11:19:30.123 780 2300 I ActivityManager: Killing 1744:com.skb.tv/1000 (adj 0): depends on provider com.google.android.tvrecommendations/.NotificationContentProvider in dying proc com.google.android.tvrecommendations (adj 0) 12-17 11:20:19.302 780 4569 I ActivityManager: Killing 3672:com.skb.tv/1000 (adj 0): depends on provider com.google.android.tvrecommendations/.NotificationContentProvider in dying proc com.google.android.tvrecommendations (adj 0) 12-17 11:20:26.414 780 1095 I ActivityManager: Killing 4618:com.skb.tv/1000 (adj 0): depends on provider com.google.android.tvrecommendations/.NotificationContentProvider in dying proc com.google.android.tvrecommendations (adj 0) So, I need your help to get some information to us (I think you can upgrade the fail box with v531.20 BMT SD image with keep_data to keep the fail status.): 1. libcronet.85.0.4183.127.so in /data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/ 2. Version of tvrecommendations apk and gms apk and setupwizard status, you can use the following commands to get it: adb root adb shell dumpsys package com.google.android.gms | grep versionName dumpsys package com.google.android.tvrecommendations | grep versionName settings get secure user_setup_complete settings get global device_provisioned 3. Please also try to use the command to run android setting "am start -a android.settings.SETTINGS" in adb shell. Check if android setting can run without problem. |
|
|
Hi River, I can do your requirement at tomorrow. Thanks. |
|
|
BY River. 1.log about current status. 2.Do this box already login with Google account?(You can check it on Android setting) 3.What is current version of com.google.android.gms (In Android setting, you can find "Google Player services" in Android app)? 4.What is current version of com.android.tvrecommendations?(In Android settings, you can find "Android TV Core Services" in app list) 5.What is the current version of com.google.android.apps.mediashell?(In Android settings, you can find "Chromecast built-in" in app list) |
|
|
|
|
|
1. log attached 2. No login 3. 21.48.15 4. There are 2 same name packages. versionName=3.4.1-408797323-f versionName=2.3.0-338690083-f 5. There are 2 same name packages. versionName=1.56.275391 versionName=1.50.228700 |
|
|
3. versionName=21.48.15 (080306-414534850) versionName=20.42.17 (080306-342117392) |
|
|
Hi River, Following are summary list by call. 1. This issue did disappear due to update each package . 2. I will check with UI company if they have any solution for this case. Thanks. |
|
|
Hi Wooshin, Thanks. I list the version of gms,tvrecommendations and mediashell of v531.20 BMT image: dumpsys package com.google.android.gms | grep versionName versionName=20.42.17 (080306-342117392) dumpsys package com.google.android.tvrecommendations | grep versionName versionName=2.3.0-338690083-f dumpsys package com.google.android.apps.mediashell | grep versionName versionName=1.50.228700 From your information, these apps are upgraded so you see two different versions (one is prebuilt version as I list here and one is upgraded app version). Since libcronet.85.0.4183.127.so is generated by gms(20.42.17 (080306-342117392). If gms is upgraded, the libcronet.xxx.so will be update to new one (You can check there may be a new libcronet.xxx.so in /data/user_de/0/com.google.android.gms/app_chimera/ folder) . I think this is why you see the Home UI is recovered. |
|
|
Hi River, I have discussed with UI engineer and they told me that they don't know how to avoid it. So, firstly we have to check your factory production process to avoid it. Second, we may report it to google to get solution. Third, I will discuss more with ui engineer. Thanks. |
|
|
Hi Wooshin, Do you know if this box ever used by user or not? (For example, user already login SKB UI and issue happens after few day usage in user's home.) If it happens after user's usage, it can not be avoided in factory process. |
|
|
Hi River, We can see this issue at boxes returned from user's home and acceptance inspection of SKB. Boxes from acceptance inspection was never used by user. Thanks. |
|
|
Hi Wooshin, Thanks for your information. We need some information and could you please answer my following questions: Do "acceptance inspection" will login SKB UI account to see if main UI works or not? Do "acceptance inspection" will do any factory reset or firmware upgrade with wipe data? |
|
|
Hi River, Do "acceptance inspection" will login SKB UI account to see if main UI works or not? -> Yes, he is doing login for checking ui operation. Do "acceptance inspection" will do any factory reset or firmware upgrade with wipe data? -> "Factory reset" is doing, if version is different with OTA server, it will be upgraded but data will be not wiped. And I know that all box is no going for acceptance inspection, randomly picked box only is going for that. |
|
|
Hi Wooshin, Thanks your information. Because "acceptance inspection" will login SKB UI, I think they will do SKB factory reset on every "acceptance inspcetion" SWAN to make it back to default status. [Root Cause Analysis:] Regarding this issue, the root cause is related to why the libcronet.85.0.4183.127.so is incorrect. We guess it is caused by power off while libcronet.85.0.4183.127.so is generating. There are two possible cases to generating libcronet.so of gms: 1. Doing OTA with wipe data or android factory reset(include SKB factory reset). This action will clear all apps data files. Then at next time system booting, android package manager will regenerate(extract) all apps data files, for example share lib. In this case, libcronet.85.0.4183.127.so in google gms app. 2. Google gms app is doing upgrading, it will generate new libcronet.so for new version of gms. Since the error log is libcronet.85.0.4183.127.so (used by gms verion 20.42.17 in image v531.20), it should not be this case for this log. Otherwise, the version of libcrontet.so will be newer. So, for your log, it should be case 1, SWAN is booting after OTA with wipe data or after android factory reset(include SKB factory reset). [To prevent it in advance] We found the libcronet.85.0.4183.127.so will be generating while "Android" animation is just end and before SetupWizard shows if any android data wipe is performed in previous boot. So, to avoid this problem, we think power off should be done lately(for example, 1 minute) after SetupWizard UI shows if any android data wipe is performed in previous boot. We will check the process in our factory to add this waiting time (at least 1 minute) while power off if any android wipe data is performed. (Because we do not know the minimum time needs to be delay to ensure file is flush to flash, so we give it 1 minute to flush the file. And we think it should be long enough.) But because "acceptance inspection" will also do SKB factory reset, you need also to notify SKB to add some delay in doing power off after factory reset is performed. PS: I try to do repeatedly power off while the the libcronet.85.0.4183.127.so is generating. But after 20 times test, I still can not make the file damaged. So, I think it is not easy to reproduce this issue. |
|
|
Hi River, Actually, i don't know why this issue happen yet even though power off during file copy. If power off during copying process, file is not exist after reboot. This is normal case in OS system. I wonder if it is normal in android system. Anyway, I will discuss with owner of acception inspection about it because finding root cause of it is difficult. Thanks. |
|
|
Hi Wooshin, I guess the libcronet.85.0.4183.127.so exists but file content is incorrect. (For example, file is generating and power is off. So, some data is not written to file.) So far, we can do is to prevent immediately power off after factory reset to default. I recommend to monitor this issue. In the feature, if there is the same issue box, please get the libcronet.85.0.4183.127.so to us to analyze it. |
|
|
Actually, We have done 50 times test that power off immediately after factory reset to default. But i can't see this issue. We have to check that previous our analysis(reboot without wait) is right analysis. Thanks. |
|
|
Hi Wooshin, I also try 30 times to reproduce it by power off but I also can not reproduce it. I think the timing is important since the file is small. That's why I need a fail box from field that you can get the libcronet.85.0.4183.127.so to us for analysis. |
|
|
Hi River, ALT got 1 box from field. If get it i will extract libcronet.85.0.4183.127.so in the box and send to you. Thanks. |
|
|
Hi Wooshin, I got it, Please note: Not to connect to internet to avoid gms apk being upgraded. |
|
|
Hi River, I got this file from /data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/. Thanks. |
|
|
|
|
|
Hi Wooshin, I compared the bad so file with good one. In bad file, offset 0x206000~0x2C6FFF are all zero. But it is strange that the data after 0x2C7000 to end of file is correct. I will need more time to debug if power off can make this happen. |
|
|
Hi Wooshin, I check the write system call, It looks like the libcronet.85.0.4183.127.so is created by writing from 1st bytes to end of file. So, I'm still think how the bad file is created. But could you provide the the total numbers of this fail case from field? Is it increasing largely or just few cases? If possible, please provide more bad libcronet.85.0.4183.127.so for getting more information. |
|
|
I will share files if i will get same issued sample. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2021-12-17 14:27 | (ALTech) Wooshin Kang | New Issue | |
| 2021-12-17 14:27 | (ALTech) Wooshin Kang | Status | new => assigned |
| 2021-12-17 14:27 | (ALTech) Wooshin Kang | Assigned To | => (SW) River Wong |
| 2021-12-17 14:27 | (ALTech) Wooshin Kang | File Added: logcat.log | |
| 2021-12-17 16:13 |
|
Note Added: 0008943 | |
| 2021-12-17 17:05 | (ALTech) Wooshin Kang | Note Added: 0008946 | |
| 2021-12-20 10:48 |
|
Note Added: 0008957 | |
| 2021-12-20 11:55 | (ALTech) Wooshin Kang | Note Added: 0008958 | |
| 2021-12-21 17:12 | (ALTech) Wooshin Kang | Note Added: 0008966 | |
| 2021-12-21 17:29 | (ALTech) Wooshin Kang | File Added: dlopen.log | |
| 2021-12-21 17:29 | (ALTech) Wooshin Kang | Note Added: 0008967 | |
| 2021-12-21 17:48 | (ALTech) Wooshin Kang | Note Added: 0008969 | |
| 2021-12-21 18:25 | (ALTech) Wooshin Kang | Note Added: 0008971 | |
| 2021-12-21 18:49 |
|
Note Added: 0008972 | |
| 2021-12-22 10:10 | (ALTech) Wooshin Kang | Note Added: 0008983 | |
| 2021-12-22 15:58 |
|
Note Added: 0009024 | |
| 2021-12-23 07:50 | (ALTech) Wooshin Kang | Note Added: 0009029 | |
| 2021-12-23 10:22 |
|
Note Added: 0009035 | |
| 2021-12-23 15:33 | (ALTech) Sangmin Choi | Issue Monitored: (ALTech) Sangmin Choi | |
| 2021-12-24 07:40 | (ALTech) Wooshin Kang | Note Added: 0009092 | |
| 2021-12-24 10:21 |
|
Note Added: 0009105 | |
| 2021-12-24 12:51 | (ALTech) Wooshin Kang | Note Added: 0009110 | |
| 2021-12-24 16:44 |
|
Severity | s2-severe => s4-minor |
| 2021-12-24 16:44 |
|
Description Updated | |
| 2022-01-07 10:00 |
|
Note Added: 0009296 | |
| 2022-01-07 10:37 | (ALTech) Wooshin Kang | Note Added: 0009299 | |
| 2022-01-10 09:43 |
|
Note Added: 0009308 | |
| 2022-01-21 15:59 | (ALTech) Wooshin Kang | Note Added: 0009361 | |
| 2022-01-21 18:43 |
|
Note Added: 0009362 | |
| 2022-01-25 17:21 | (ALTech) Wooshin Kang | Note Added: 0009371 | |
| 2022-01-25 17:21 | (ALTech) Wooshin Kang | File Added: libcronet.85.0.4183.127.so | |
| 2022-01-26 18:10 |
|
Note Added: 0009381 | |
| 2022-02-23 11:02 |
|
Note Added: 0009493 | |
| 2022-02-24 08:54 | (ALTech) Wooshin Kang | Note Added: 0009495 | |
| 2022-08-16 10:11 |
|
Assigned To | (SW) River Wong => (ALTech) Wooshin Kang |
| 2025-07-17 17:04 | (PM) Sheila Tu | Status | assigned => closed |
| 2025-07-17 17:04 | (PM) Sheila Tu | Resolution | open => fixed |